
from Reg import *

import token_python



@RegLanguage(language="python", extension=['py'])
def python_language():
    return [
        "f_string_py",
        "identifier_noname",
        "number_noname",
        "line_comment_py",
        "block_string_py",
        "string_python",

        "Keyword_False",
        "Keyword_None",
        "Keyword_True",
        "Keyword_as",
        "Keyword_assert",
        "Keyword_break",
        "Keyword_class",
        "Keyword_continue",
        "Keyword_def",
        "Keyword_del",
        "Keyword_elif",
        "Keyword_else",
        "Keyword_except",
        "Keyword_finally",
        "Keyword_for",
        "Keyword_from",
        "Keyword_global",
        "Keyword_if",
        "Keyword_import",
        "Keyword_lambda",
        "Keyword_nonlocal",
        "Keyword_pass",
        "Keyword_raise",
        "Keyword_return",
        "Keyword_try",
        "Keyword_while",
        "Keyword_with",
        "Keyword_yield",

        "Symbol_operator_and",
        "Symbol_operator_or",
        "Symbol_operator_not",
        "Symbol_operator_in",
        "Symbol_operator_is",



        "Symbol_operator_exponent_assign",
        "Symbol_operator_floor_division_assign",

        "Symbol_operator_add_assign",
        "Symbol_operator_subtract_assign",
        "Symbol_operator_multiply_assign",
        "Symbol_operator_divide_assign",
        "Symbol_operator_modulus_assign",
        "Symbol_operator_bit_left_shift",
        "Symbol_operator_bit_right_shift",
        "Symbol_operator_equal",
        "Symbol_operator_notequal",
        "Symbol_operator_ge",
        "Symbol_operator_le",

        "Symbol_operator_floor_division",
        "Symbol_operator_exponent",



        "Symbol_lparenthese",
        "Symbol_rparenthese",
        "Symbol_lbracket",
        "Symbol_rbracket",
        "Symbol_lbrace",
        "Symbol_rbrace",
        "Symbol_comma",
        "Symbol_dot",
        "Symbol_colon",
        "Symbol_semicolon",
        "Symbol_operator_assign",

        "Symbol_operator_indirection",
        "Symbol_operator_addressof",
        "Symbol_operator_plus",
        "Symbol_operator_negation",
        "Symbol_operator_multiplication",
        "Symbol_operator_division",
        "Symbol_operator_modulus",
        "Symbol_operator_logical_negation",
        "Symbol_operator_greater",
        "Symbol_operator_less",
        "Symbol_operator_not",
        "Symbol_operator_bit_and",
        "Symbol_operator_bit_or",
        "Symbol_operator_bit_xor",
        "Symbol_operator_bit_complement",

        
    ]
